ExcelVBAPartsCollection Home Excel Reference Manual DownLoad My Profile
Menu Back Next Links Excel Function Manual Myself My BBS


画面・カーソル制御

 





ウインドウサイズの変更

1. アプリケーションウィンドウを全画面表示する

処理内容:Excelを全画面表示にします。
Sub Display1()
Application.DisplayFullScreen = True
End Sub

2. アプリケーションウィンドウの全画面表示を元に戻す

処理内容:全画面表示を元に戻します。
Sub Display2()
Application.DisplayFullScreen = False
End Sub

3. アプリケーションウィンドウを最大化する

処理内容:Excelの画面を最大化します。
Sub Displa3()
Application.WindowState = xlMaximized
End Sub

4. アプリケーションウィンドウを最小化する

処理内容:Excelの画面を最小化してアイコンボタンで表示します。
Sub Displa4()
Application.WindowState = xlMinimized
End Sub

5. アプリケーションウィンドウを通常サイズにする

処理内容:Excelの画面を通常サイズで表示します。
Sub Displa5()
Application.WindowState = xlNormal
End Sub





画面倍率の変更

1. アクティブウィンドウを可能な限り大きく表示する

処理内容:Excelを画面の最大限の大きさに表示します。
Sub DisplaySize1()
With ActiveWindow
.WindowState = xlNormal
.Top = 1
.Left = 1
.Height = Application.UsableHeight
.Width = Application.UsableWidth
End With
End Sub

2. 選択範囲をウインドウサイズに合わせてズームする

処理内容:選択範囲を画面いっぱいに拡大して表示します。
Sub DisplaySize2()
Range("A1:D7").Select
ActiveWindow.Zoom = True
End Sub

3. ズームした画面を元に戻す

処理内容:画面いっぱいに拡大したのを元の状態に戻します。
Sub DisplaySize3()
ActiveWindow.Zoom = False
End Sub

4. ズーム倍率を縮小して画面倍率を変更する

処理内容:画面の表示倍率を80%に縮小する。
Sub DisplaySize4()
ActiveWindow.Zoom = 80
End Sub

5. ズーム倍率を拡大して画面倍率を変更する

処理内容:画面の表示倍率を120%に拡大する。
Sub DisplaySize5()
ActiveWindow.Zoom = 120
End Sub





ウインドウを並べて表示

1. 同じブックのシートを並べて表示

処理内容:同じブックのシートを横に並べて表示します。
Sub WindowsArrange1()
Sheets("Sheet1").Select
ActiveWindow.NewWindow  '同じブックをもう一つ画面に表示
Sheets("Sheet2").Select     '追加したブックの「Sheet2」を選択
Windows.Arrange ArrangeStyle:=xlVertical
End Sub
画面でのウインドウの並び方を設定するには、「ArrangeStyle」の引数を変更します。
Windows.Arrange ArrangeStyle:=xlTiled    'タイル状
Windows.Arrange ArrangeStyle:=xlCascade   '段々状
Windows.Arrange ArrangeStyle:=xlHorizontal '水平
Windows.Arrange ArrangeStyle:=xlVertical    '垂直

2. 後で開いたウインドウを閉じて元の状態に戻す

処理内容:2番目に開いたウインドウを閉じて元の状態に戻します。
Sub WindowsArrange2()
Windows(2).Close
Windows(1).WindowState = xlMaximized
End Sub

3. 別のブックを開いて、Sheet2を左右に並べて表示

処理内容:新規に「新規ブック」を開いて「Sheet2」を左右に並べて表示します。
Sub WindowsArrange3()
Workbooks.Open Filename:="新規ブック.xls"
Sheets("Sheet2").Select
Windows.Arrange ArrangeStyle:=xlVertical
End Sub

4. 新しく開いたブックを閉じる

処理内容:新しく開いたブックを閉じて画面を元の状態に戻します。
Sub WindowsArrange4()
Windows(2).Close
ActiveWindow.WindowState = xlMaximized
End Sub

5. 展開済みの他ブック(test)の画面に切り替え

処理内容:既に開かれているブック「test」に画面を切り替える。
Sub WindowsArrange5()
Windows("test").Activate
End Sub





ウインドウ枠の固定と分割

1. ウインドウ枠の固定

処理内容:D列から左、3行目から上をスクロールさせない。
Sub WindowsFreezePanes1()
Sheets("Sheet1").Select
Cells(3, 4).Select 'ウインドウ枠の固定位置の指定
ActiveWindow.FreezePanes = True
End Sub
ウインドウ枠の固定は、リストの見出し部分を常に表示したいときに指定します。
指定位置の左側の列、指定位置の上側の行はスクロールしません。

2. ウインドウ枠の固定の解除

処理内容:設定されているウインドウ枠固定の解除。
Sub WindowsFreezePanes2()
Sheets("Sheet1").Select
ActiveWindow.FreezePanes = False
End Sub

3. ウインドウ枠の分割

処理内容:セル「B2」でウインドウ枠を分割する。
Sub WindowsSplit1()
With ActiveWindow
.SplitColumn = 2
.SplitRow = 2
End With
End Sub
ウインドウ枠の分割を指定すると、指定位置で画面が4分割され、それぞれの領域ごとに
スクロールさせることができます。

4. ウインドウ枠の分割の解除

処理内容:設定されているウインドウ枠の分割を解除します。
Sub WindowsSplit2()
With ActiveWindow
.SplitColumn = 0
.SplitRow = 0
End With
End Sub





画面更新・自動計算のオン・オフ

1. マクロ実行中画面更新を中断する

処理内容:マクロを実行中、画面更新を中断させます。
Sub ScreenUpdating1()
Application.ScreenUpdating = False
End Sub

2. 画面更新を再開する

処理内容:画面更新を再開します。
Sub ScreenUpdating2()
Application.ScreenUpdating = True
End Sub

3. 再計算を手動に切り替え

処理内容:セルの再計算機能を手動に切り替えます。
Sub Calcu1()
Application.Calculation = xlCalculationManual
End Sub

4. 再計算を自動に切り替え

処理内容:セルの再計算機能を自動に切り替えます。
Sub Calcu4()
Application.Calculation = xlCalculationAutomatic
End Sub

5. 再計算の非実行と再開

処理内容:セルの再計算機能の非実行・実行を切り替えます。
Sub Calcu5()
Range("A1:A7").Formula = "=B1"
ActiveSheet.EnableCalculation = False  '---再計算しない
Range("B1:B7").Value = 100
MsgBox "A1:A7はB1:B7の参照式が入力されています" _
& VBCRLF &VBCRLF & "再計算されていないことを確認してください"
ActiveSheet.EnableCalculation = True   '---再計算する
MsgBox "再計算されました"
End Sub





ユーザー設定のビュー

1. ユーザー設定のビューの登録

処理内容:「設定画面」という名前を付けてユーザー設定のビューを登録します。
Sub CustomViews1()
ActiveWorkbook.CustomViews.Add ViewName:="設定画面", PrintSettings:=True, _
RowColSettings:=True
End Sub
ユーザー設定のビューには、印刷情報、画面の非表示・表示、フィルタの設定などを登録
することができます。
「ViewName」・・・・・・・ビューの名前を指定
「PrintSettings」・・・・・ 「True」を指定すると印刷情報を登録
「RowColSettings」・・・「True」を指定すると非表示、フィルタ情報を登録

2. ユーザー設定のビューの表示

処理内容:ユーザー設定のビュー「設定画面」を呼び出します。
Sub CustomViews2()
ActiveWorkbook.CustomViews("設定画面").Show
End Sub

3. ユーザー設定のビューの解除

処理内容:ユーザー設定画面の列の非表示、オートフィルタの設定を解除します。
Sub CustomViews3()
Cells.Select
Selection.EntireColumn.Hidden = False
Range("A1").AutoFilter
Range("A1").Activate
End Sub
この処理は、ユーザー設定で登録された列の非表示、オートフィルタの設定を解除している
だけで、印刷情報などは登録された内容になっています。
ユーザー設定登録以前の状態に戻すときは、その画面を「初期画面」として登録しておき、
「初期画面」のビューを呼び出す方法があります。

4. ユーザー設定のビューの削除

処理内容:ユーザー設定のビュー「TEST」を削除します。
Sub CustomViews4()
ActiveWorkbook.CustomViews("設定画面").Delete
End Sub





画面のスクロール

1 シートの画面のスクロール(指定行または列分だけスクロール)

処理内容:画面を 5 行分上にスクロールします。
Sub Scroll1()
ActiveWindow.SmallScroll Up:=5
End Sub
スクロールの方向と列数・行数は「SmallScroll」の引数で指定します。
ActiveWindow.SmallScroll Up:=5     ' 5 行分上にスクロール
ActiveWindow.SmallScroll down:=2    ' 2 行分下にスクロール
ActiveWindow.SmallScroll ToLeft:=4   ' 4 列分左にスクロール
ActiveWindow.SmallScroll ToRight:=3  ' 3列分右にスクロール

2 シートの画面のスクロール(指定ページ分だけスクロール)

処理内容:画面を 2 頁分上にスクロールします。
Sub Scroll2()
ActiveWindow.LargeScroll Up:=2
End Sub
スクロールの方向と頁数は「LargeScroll」の引数で指定します。1頁は1画面分です。
ActiveWindow.LargeScroll Up:=5     ' 5 頁分上にスクロール
ActiveWindow.LargeScroll down:=2    ' 2 頁分下にスクロール
ActiveWindow.LargeScroll ToLeft:=4   ' 4 頁分左にスクロール
ActiveWindow.LargeScroll ToRight:=3  ' 3 頁分右にスクロール

3. スクロール可能領域を設定する

処理内容:シート「Sheet1」のスクロール可能領域を「A2:D2」に設定します。
Sub Scroll3()
Worksheets("Sheet1").ScrollArea = "A2:D2"
End Sub

4. スクロール可能領域の設定を解除する

処理内容:シート「Sheet1」のスクロール可能領域の設定を解除します。
Sub Scroll4()
Worksheets("Sheet1").ScrollArea = ""
End Sub

5. シート見出しのスクロール

処理内容:シート見出しを先頭までスクロールします。
Sub Scroll5()
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst
End Sub
シート見出しのスクロールの方向と範囲は「ScrollWorkbookTabs」の引数で設定します。
この処理は画面上にシート見出しが収まらないときに有効になります。
また、この処理で選択されるシートが切り替わる訳ではありません。
ActiveWindow.ScrollWorkbookTabs Position:=xlFirst ' シート見出しを先頭までスクロール
ActiveWindow.ScrollWorkbookTabs Position:=xlLast  ' シート見出しを最後までスクロール
ActiveWindow.ScrollWorkbookTabs Sheets:=1      ' シート見出しを1つ前方にスクロール
ActiveWindow.ScrollWorkbookTabs Sheets:=-3     ' シート見出しを3つ後方にスクロール





カーソルの移動

1. カーソルの移動方向を設定

処理内容:リターンキーを押したときのカーソルの移動方向を左から右に設定します。
Sub Cursol1()
Application.MoveAfterReturnDirection = xlToRight
End Sub
カーソルの移動方向は「MoveAfterReturnDirection」の引数で設定します。
Application.MoveAfterReturnDirection = xlToRight  ' 左から右へ移動
Application.MoveAfterReturnDirection = xlToLeft   ' 右から左へ移動
Application.MoveAfterReturnDirection = xlDown   ' 上から下へ移動
Application.MoveAfterReturnDirection = xlUp     ' 下から上へ移動

2.  基準位置からリスト範囲の終端へカーソル移動

処理内容:セル「D6」からリストの左端列へカーソルを移動します。
Sub Cursol2()
Cells(6, 4).End(xlToLeft).Activate
End Sub
カーソルの移動方向は、「End(指定方向)」の引数で設定します。
下記の例では基準セルを「Cells(6, 4)・・・D6」としています。
Cells(6, 4).End(xlToLeft).Activate  ' 基準セルのリスト内の左端列へ移動
Cells(6, 4).End(xlToRight).Activate  ' 基準セルのリスト内の右端列へ移動
Cells(6, 4).End(xlUp).Activate     ' 基準セルのリスト内の上端行へ移動
Cells(6, 4).End(xlDown).Activate   ' 基準セルのリスト内の下端行へ移動

3. 基準位置から任意の行・列数分カーソル移動

処理内容:アクティブセルから下へ2行、右へ3列分カーソルを移動します。
Sub Cursol3()
ActiveCell.Offset(2, 3).Activate
End Sub
カーソルの移動方向は、「Offset(行,列)」の引数で設定します。
行の数値は、プラスが下、マイナスが右への移動。列の数値はプラスが右、マイナスが左
への移動を表しています。
下記の例では基準セルを「ActiveCell」としています。
ActiveCell.Offset(2, 3).Activate   ' 基準セルから下へ2行、右へ3列移動
ActiveCell.Offset(-1, 2).Activate   ' 基準セルから上へ1行、右へ2列移動
ActiveCell.Offset(5, -3).Activate   ' 基準セルから下へ5行、左へ3列移動
ActiveCell.Offset(-4, -2).Activate   ' 基準セルから上へ2行、左へ3列移動
ActiveCell.Offset(5).Activate     ' 基準セルから下へ5行移動
ActiveCell.Offset(, -2).Activate    ' 基準セルから左へ2列移動
列方向への移動の指定は省略できますが、行方向を省略するときは「,」が必要です。

4. 選択範囲全体を移動

処理内容:A1を基準セルとするリスト範囲全体の選択範囲を下に1行、右に1列移動します。
Sub Cursol4()
Range("A1").CurrentRegion.Offset(1, 1).Select
End Sub

5. 指定したセルを画面の左上端に表示

処理内容:シート「Sheet1」のA1を画面左上端にしてカーソルを移動します。
Sub Cursol5()
Application.Goto Worksheets("Sheet1").Range("A1"), True
End Sub

6. 新規データ入力セル(データ登録範囲下端の次の行)に移動

処理内容:リストのデータ入力範囲の左端列下端行の次行にカーソルを移動します。
Sub Cursol6()
Cells(ActiveSheet.Rows.Count,1).End(xlUp).Offset(1).Select
End Sub

7. ブックがオーブンしたとき、全てのシートのA1をアクティブにする

処理内容:ブックが開かれたら自動的に全てのシートのセルA1を画面の左上端に表示します。
Private Sub Workbook_Open()
Dim Sh As Worksheet
For Each Sh In Worksheets
Application.Goto Sh.Range("A1")
Next
End Sub
上記コードは、「ThisWorkbook」に記述します。





Gポイントポイ活 Amazon Yahoo 楽天

無料ホームページ 楽天モバイル[UNLIMITが今なら1円] 海外格安航空券 海外旅行保険が無料!